<?php
class ServicosController extends AppController {

	var $name = 'Servicos';
	
	function cadastrarServico($id = null, $msg = null) {
		
		if ( !empty($this->data) ) {
			
			$this->data['Servico']['valor'] = $this->alterarValorMonetario($this->data['Servico']['valor']);
			if ($this->Servico->save($this->data)) {
				( empty($this->data['Servico']['id']) ) ? $msg = 'Cadastro efetuado com sucesso' : $msg = 'Dados alterados com sucesso!';
				$this->redirect(array('action' => 'cadastrarServico', $this->Servico->id, $msg));
			} else 
				$msg = 'O cadastro não foi efetuado.';
			
		}
		if ($id && empty($this->data))
			$this->data = $this->Servico->read(null, $id);
		
		$this->set(compact('id', 'msg'));
	}

	function delete($id = null, $msg = null) {
		if ($id) {
			if ( $this->Session->read('Auth.Usuario.perfilacesso') == 'Administrador' ) {
				if ($this->Servico->delete($id)) {
					$msg = 'Dados apagados com sucesso!';
					$this->redirect(array('action'=>'consultar', $msg));
				} else 
					$msg = 'O Serviço não foi excluído.';
			} else 
				$msg = 'Somente o Administrador pode excluir um Serviço.';
		}
		$this->redirect(array('action' => 'cadastrarServico', $id, $msg));
	}
	
	function consultar($msg = null) {
		
		if ( !empty($this->data) ) {
			
			$servico_id = ''; 
			if ( !empty($this->data['Servico']['codigo']) )
				$servico_id = $this->Servico->field('id', array('Servico.id' => $this->data['Servico']['codigo']));
			if ( !empty($this->data['Servico']['descricao']) )
				$servico_id = $this->Servico->field('id', array('Servico.descricao ilike \'%'.$this->data['Servico']['descricao'].'%\''));

			if ( !empty($servico_id) )
				$this->redirect(array('action' => 'cadastrarServico', $servico_id, $msg));
			else
				$msg = 'Serviço não cadastrado. Favor tentar novamente.';
		}
		$this->set(compact('msg'));
	}
	
	function buscarServico($id = null) {
		$this->layout = 'ajax';
		
		if ( !empty($id) )
			$this->data = $this->Servico->read(null, $id);
		else
			$this->data = '';
			
		echo json_encode($this->data);
		$this->render(false);
	}
}
?>